#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
  Функции работы с сообщениями обратной связи
"""

from engine import settings
from google.appengine.ext import db
from datetime import datetime


class UserMessage(db.Model):
  """Класс БД сообщений пользователя
  """

  Author = db.StringProperty(verbose_name = "Автор сообщения", required=True)
  Mail = db.EmailProperty(verbose_name = "Почта для ответа", required=True)
  Message = db.StringProperty(verbose_name = "Сообщение", multiline=True, required=True)
  Date = db.DateTimeProperty(verbose_name = "Дата/Время создания", auto_now_add=True)

def AddMsg(usermsg):
  """Добавить сообщение
  Args:
    usermsg: сообщение
  """

  m = UserMessage( Author = usermsg['author'], 
                   Mail = usermsg['mail'],
                   Message = unicode(usermsg['message']) )
  return m.put()

def GetMsgs():
  """Получить все сообщения из базы в порядке сортировки по дате
  """

  m = UserMessage.all().order('-Date')
  return m
  
def DelMsg(msgs):
  """Удаление сообщений
  Args:
    msgs: ключи для выборки из базы данных
  """

  results = UserMessage.get(msgs)
  for result in results:
    result.delete()